D11_JS101 綜合題目練習 Lv1


Posted by Christy on 2021-04-28

練習一:印出一到九

請你分別用 for loop 以及 while 迴圈,印出 1~9。

預期輸出:

1
2
3
4
5
6
7
8
9

for loop:

for (var i = 1 ; i <= 9; i ++) {
    console.log(i)
}
while:
var i = 1

while (i <= 9) {
    console.log(i)
    i++
}

練習二:寫一個能夠印出 1~n 的函式

請寫一個函式叫做 print,接收一個是數字的參數 n,並且印出 1~n。

print(1) 預期輸出:

1

print(3) 預期輸出:
1
2
3

print(9) 預期輸出:
1
2
3
4
5
6
7
8
9

function print(n) {
    for (var i =1; i <=n; i++) {
        console.log(i)
    }
}

print(9)

練習三:寫一個能夠印出 n 個 * 的函式

寫一個函式 star,接收一個參數 n,並印出 n 個 *
(禁止使用內建函式 repeat)

star(1) 預期輸出:
*
star(5) 預期輸出:
*****
star(10) 預期輸出:
**********
function star (n) {
    var star = ''
        for (var i = 1; i <= n; i++) {
            star = star + '*'
        }
        console.log(star)
}
star(10)

練習四:寫一個能回傳 n 個 * 的函式

請寫出一個叫做 star 的 function 並且接受一個參數 n,能回傳 n 個 *。

star(1) 會回傳 *
star(5) 會回傳 *****

所以 console.log(star(5)) 的預期輸出是:
*****
function star (n){
    star = ''
    for (var i =1; i <= n; i++){
        star =  star + '*'
    }
    return star
}
console.log(star(2))

練習五:判斷大小寫

請寫一個叫做 isUpperCase 的 functuon,並且接收一個字串,回傳這個字串的第一個字母是否為大寫。

isUpperCase("abcd") 正確回傳值:false

isUpperCase("Abcd") 正確回傳值:true

isUpperCase("ABCD") 正確回傳值:true

isUpperCase("aBCD") 正確回傳值:false

function isUpperCase(str) {
    if (str.charCodeAt(0) >= 65 && str.charCodeAt(0) <= 90) {
        return 'true'
    } else {
        return 'false'
    }
}

console.log(isUpperCase('aBCD'))

練習六:回傳第一個大寫字母以及它的 index,影片在 09:31

請寫一個 function position,接收一個字串並回傳這個字串裡面的第一個大寫字母跟它的 index,若沒有則回傳 -1。

position("abcd") 正確回傳值:-1

position("AbcD") 正確回傳值:A 0

position("abCD") 正確回傳值:C 2

function position (str) {   //寫一個叫做 position 的函式,參數為字串 str
    for (var i = 0; i < str.length; i++){ //在 str 裡面找每個字母
        if (str[i] >= 'A' && str[i] <= 'Z') { //如果字母在 A 到 Z 之間
            return str[i] + ' ' + i //就回傳那個字母,空格,加上字母的順序
        }
    }
    return -1 //否則就回傳 -1
}

console.log(position('aBcd')) //執行這個函式

練習七:回傳陣列裡面所有小於 n 的數的數量

請寫出一個函式 findSmallCount,接收一個陣列跟一個數字 n,回傳有多少個數小於 n。

findSmallCount([1, 2, 3], 2) 預期回傳值:1

findSmallCount([1, 2, 3, 4, 5], 0) 預期回傳值:0

findSmallCount([1, 2, 3, 4], 100) 預期回傳值:4

function findSmallCount (arr, n) {
    var abc = 0
    for (i = 0; i < arr.length; i++) {
        if (arr[i] < n) {
            abc ++
        }
    }
    return abc
}

console.log(findSmallCount ([1, 2, 3], 2))
  • 解這題的時候,我卡在不知道要給一個變數來儲存有多少個數小於 n









Related Posts

[ js 筆記 ] this 是什麼東西?能吃嗎?

[ js 筆記 ] this 是什麼東西?能吃嗎?

What Type of Laser Engraving Machine Should be Used for Stainless Steel Engraving?

What Type of Laser Engraving Machine Should be Used for Stainless Steel Engraving?

一些細節小精靈

一些細節小精靈


Comments